#!/usr/bin/python3
print("--------------------ARITHMETIC-------------------------")
"""
算术运算符
+ - * / %
// 取整除 - 返回商的整数部分 （/ 返回浮点数）
** 幂 - 返回x的y次幂
"""

a = 20
b = 10
c = 0

print("a + b =", a + b)

print("a - b =", a - b)

print("a * b =", a * b)

print("a / b =", a / b)

print("a % b =", a % b)

print("2 ** 3 =", 2 ** 3)

print("10 // 5 =", 10 // 5)

print("--------------------COMPARE-------------------------")
"""
比较运算符
== >= <= > < !=
"""

print("--------------------ASSIGN-------------------------")
"""
赋值运算符
= += -= *= /= %= **= //=
"""

print("--------------------BITWISE-------------------------")
"""
按位运算符是把数字看作二进制来进行计算的
^ | & ~ << >> 
"""

print("--------------------LOGIC-------------------------")
"""
逻辑运算符
and or not(对应于 !)
"""


print("--------------------IN-------------------------")
"""
成员运算符
用于测试成员是否存在于指定的序列中(字符串，列表或元组)
"""
pystr = "Hello world"
print("H" in pystr, "W" in pystr)
print("H" not in pystr, "W" not in pystr)

print("--------------------IS-------------------------")
"""
身份运算符
 id() 函数用于获取对象内存地址
身份运算符用于比较两个对象的存储单元（即是否使用同一块内存区域）
1. is 是判断两个标识符是不是引用自一个对象        ：   x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True，否则返回 False
2. is not 是判断两个标识符是不是引用自不同对象    ：	x is not y ， 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True，否则返回 False。
"""
a = 20
b = 20
print(a is b, id(a) == id(b))
b = 30
print(a is b, id(a) == id(b))
